Managing personal finances can sometimes be very tedious and time-consuming. Paying bills, budgeting, investing, saving, and balancing checkbooks are areas that require planning, management, and skill. To assist in these tasks, financial software programs have been developed. These programs are generally designed to assist in understanding personal finances, as well as to make managing them easier.
For example, a financial software program can help a user track personal finances by storing financial information in a file on the user's personal computer. The user can update the file by connecting to an on-line database or banking service using the program and downloading transactions, account balances, and other financial information from the on-line database.
Typically, banks and financial institutions assign names to transactions that are sometimes unusual, complex, and/or confusing for a typical user to read and understand. A bank or financial institution offering credit or checking services also may assign multiple names to what the user may consider to be the same payee. For example, Chevron may be identified as Chevron #1234, Chevron #5678, and Chevron #9012, each representing different Chevron service stations. Because these Chevron service stations are treated like three separate payees due to the name assignment differences, the user may consider this payee name assignment confusing and not very useful. This issue can arise when the user wants to use the financial software program to determine the amount of money that he or she spends each month at Chevron. Thus, there is a need for an automated system for changing payee names presented by the user interface of a financial software program.
A financial software program typically allows a user to operate on a financial statement, such as a checking statement, which includes an initial financial amount or an “opening balance.” If the user enters an opening balance within the financial statement, there exists the possibility that a different opening balance may downloaded when the user connects to an on-line financial service. Assuming that the user-entered opening balance amount is different from the opening balance amount downloaded from the on-line database, there is no mechanism within prior financial software programs to correct the user-entered opening balance amount in response to downloading the on-line financial statement. By failing to reconcile the differences between the user-entered and downloaded opening balances, the ending balance in the user's file for the financial statement may also be incorrect. This can result in inaccurate financial records in the absence of a mechanism to synchronize user data with downloaded data.
For example, the “QUICKEN” program, which is marketed by Intuit, Inc. of Menlo Park, Calif., is a financial software program that allows a user to download financial statement data from an on-line service. The opening balance for the QUICKEN program is typically represented as the first transaction in the user's account. It is understood that the QUICKEN program, however, does not update this opening balance transaction in response to downloading on-line financial data containing another opening balance amount. Therefore, the user can potentially maintain an incorrect ending balance as a result of downloading on-line financial information.
In view of the foregoing, there exists increased chances for errors when a user of a financial software program attempts to synchronize or merge data from the user's file with data downloaded from the on-line banking service. There is a further need for a system to assist a user in the synchronization of the financial data from the user's file with the data from the on-line banking service. There is yet a further need for a convenient and efficient system for changing payee names presented by the user interface of a financial software program. There is also a need for a system that reconciles ending balances and corrects an opening balance in a user's file after downloading an on-line financial statement to maintain a correct ending balance in the user's file.